home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 85 / CD Temático 40 Febrero 2004.iso / DOS / ntfs / common / dir.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-02-11  |  1.2 KB  |  43 lines

  1. /*
  2.  *  dir.h
  3.  *  Header file for dir.c
  4.  *
  5.  *  Copyright (C) 1997 RΘgis Duchesne
  6.  */
  7.  
  8. #define ITERATE_SPLIT_DONE      1
  9.  
  10. enum ntfs_iterate_e {
  11.     BY_POSITION,
  12.     BY_NAME,
  13.     DIR_INSERT
  14. };
  15.  
  16. /* not all fields are used for all operations */
  17. typedef struct ntfs_iterate_s{
  18.     enum ntfs_iterate_e type;
  19.     ntfs_inode *dir;
  20.     union{
  21.         ntfs_u64 pos;
  22.         int flags;
  23.     }u;
  24.     char *result;      /* pointer to entry if found */
  25.     ntfs_u16* name;
  26.     int namelen;
  27.     int block;         /* current index record */
  28.     int newblock;      /* index record created in a split */
  29.     char *new_entry;
  30.     int new_entry_size;
  31.     /*ntfs_inode* new;*/
  32. } ntfs_iterate_s;
  33.  
  34. int ntfs_getdir_unsorted(ntfs_inode *ino, ntfs_u32 *p_high, ntfs_u32* p_low,
  35.   int(*cb)(ntfs_u8*,void*), void *param);
  36. int ntfs_getdir_byname(ntfs_iterate_s *walk);
  37. int ntfs_dir_add(ntfs_inode *dir, ntfs_inode *new, ntfs_attribute *name);
  38. int ntfs_check_index_record(ntfs_inode *ino, char *record);
  39. int ntfs_getdir_byposition(ntfs_iterate_s *walk);
  40. int ntfs_mkdir(ntfs_inode* dir,const char* name,int namelen, ntfs_inode *ino);
  41. int ntfs_split_indexroot(ntfs_inode *ino);
  42. int ntfs_add_index_root( ntfs_inode *ino, int type );
  43.